Integrando o Apache com o TOMCAT para que as páginas estáticas sejam executadas pelo Apache e as em JSP pelo contêiner TOMCAT, além do direcionamento das aplicações via APACHE, sendo o WebServer de acesso para as aplicações que estão no TOMCAT.
Integração APACHE/TOMCAT vou dividir em duas partes e abordar a primeira delas aqui. São elas a integração com apenas "simples", a qual as páginas ESTÁTICAS serão executadas pelo APACHE (ganho de performance) e as páginas dinâmicas (JSP) executadas pelo contêiner TOMCAT.
Além dessa funcionalidade, nessa primeira integração conseguimos "esconder" as portas do TOMCAT, já que sua aplicação será chamada por uma URL na porta 80 e o APACHE sim, irá pegar sua aplicação no TOMCAT e mostrar ela.
Temos também a segunda integração do APACHE/TOMCAT, que consiste nas vantagens da primeira acrescidas da possibilidade de se realizar LOADBALANCER entre dois TOMCATs usando o APACHE como o WebServer que irá gerenciar essa carga e dividirá ela, porém esse assunto não será abortado aqui.
Pré-requisitos
Iremos instalar os seguintes serviços em um servidor LINUX/UNIX:
[1] Comentário enviado por hugoeustaquio em 16/10/2007 - 08:54h
Parabéns, muito esclarecedor. Fica somente uma dica para os próximos leitores, usem o programa 'checkinstall' ao invéz de usar o comando 'make install', para gerar pacotes para a sua distribuição, assim fica mais fácil desinstalar depois, ou reinstalar caso você precise. Também é legal usar umas dicas para otimizar a compilação para o seu processador, caso você não tenha interesse em distribuir esses pacotes para outras pessoas. Você pode aprender a usar o checkinstall aqui: http://www.vivaolinux.com.br/dicas/verDica.php?codigo=8466
e pode otimizar a sua compilação inserindo as seguintes linhas no arquivo /etc/profile :
CFLAGS="-O2 -march=AtlonXP -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j2"
export CFLAGS CHOST CXXFLAGS MAKEOPTS
Note que você terá que substituir o 'AtlonXP' pelo identificador do seu processador, que poderá ser k6, k7, k8 (modelos da AMD) ou PentiumIII, PentiumIV, pentium-mmx para modelos da intel. Para saber informações sobre o seu processador leia o arquivo /proc/cpuinfo. Mais uma vez parabéns pelo artigo!
[2] Comentário enviado por brunolimaq em 16/10/2007 - 09:14h
Boa dica...
Mas vale lembrar que a recompilação do Apache, PHP e qualquer outro programa instalado apartir de um SOURCE é possivel sem o "checkinstall". Podemos usar o "Make Clean" antes de recompilar, bastando manter o mesmo diretório de instalação da compilação anterior, que pode ser obtida olhando a LOG do "Configure".
[3] Comentário enviado por ls_junior em 17/10/2007 - 07:07h
Lembrando que existe o módulo mod_proxy_ajp que é bem mais simples de configurar que o mod_jk.
Segue exemplo de configuração do mod_proxy_ajp para o manager do tomcat:
<Location /manager>
ProxyPass ajp://nome_do_host_tomcat:8009/manager/
Order allow,deny
allow from all
</Location>
Sim, é apenas isso. Além de carregar o módulo(proxy_ajp.load do Debian):
# Depends: proxy
LoadModule proxy_ajp_module /usr/lib/apache2/modules/mod_proxy_ajp.so
[4] Comentário enviado por andrade.ti em 17/10/2007 - 11:31h
Muito bom artigo. Eu estava pensando em escrever um sobre o mod_jk que a princípio é mais complicado do que o mod_proxy_ajp, mas é mais versátil, por não ser um simples redirecionamento mas sim uma integração verdadeira.
[5] Comentário enviado por brgsousa em 18/10/2007 - 10:29h
Muito bom seu tutorial,
Tava sentindo falta de um tutorial atualizado.
Queria atentar para as descrições de criação de links que estao erradas. O certo seria (Estou no Debian):
ln -s <origem> <destino>
Exemplo: ln -s apache-tomcat-6.0.14 apache-tomcat
[7] Comentário enviado por removido em 04/04/2008 - 14:50h
Ola quando tento utilizar o mod_jk.so com o comando ./configure --with-apxs=/usr/local/apache2/bin/apxs ele diz que o arquivo apxs nao existe tentei com o comando --with-apache=/usr/local/apache-tomcat-5-5.1.7. e deu que não era um diretorio válido do fonte do apache . Será que tem solução??
[8] Comentário enviado por hugoeustaquio em 04/04/2008 - 14:53h
Seguinte, alexmoreira:
Digite o comando "whereis apxs" e veja se ele aponta um caminho. Em caso positivo, utilize esse caminho no lugar de "/usr/local/apache2/bin/apxs". Em caso negativo verifique a instalação do apache. Pode ser que sua distribuição tenha colocado o "apxs" em outro pacote. Se isso acontecer, você terá que descobrir qual pacote é esse, fazendo uma busca no programa que gerencia os pacotes da sua distribuição.
[9] Comentário enviado por hugoeustaquio em 04/04/2008 - 14:57h
A propósito alexmoreira, você já tinha o apache (servidor web) instalado ou você procedeu a instalação através do código fonte? Se foi a partir do código fonte, verifique se a compilação procedeu corretamente.
[10] Comentário enviado por removido em 07/04/2008 - 11:41h
sim o apache está instalado no diretorio /etc/apache2 é o apache 2.2. como faço uma busca para descobrir mesmo se o apxs está instalado na minha máquina. Agradeço desde já.
[17] Comentário enviado por juniomundo em 16/05/2009 - 11:59h
Realizei a instalção do LAMP através do nautilus, gostaria de saber se tem esta possibilidade de integração.Porque quando eu dou o comando: gedit httpd.conf, consigo visualizar um arquivo em branco.